<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>opennars: nars.inference.LocalRules.trySolution</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">opennars
   &#160;<span id="projectnumber">1.5.5</span>
   </div>
   <div id="projectbrief">1.5-ish</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../namespaces.html"><span>Packages</span></a></li>
      <li><a href="../../annotated.html"><span>Classes</span></a></li>
      <li><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d4/de9/classnars_1_1inference_1_1LocalRules_a3ecf859c238ad7f0c44c45e3e5df0081.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
<a class="anchor" id="a3ecf859c238ad7f0c44c45e3e5df0081"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void nars.inference.LocalRules.trySolution </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d6/d25/classnars_1_1entity_1_1Sentence.html">Sentence</a>&#160;</td>
          <td class="paramname"><em>belief</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/ddc/classnars_1_1entity_1_1Task.html">Task</a>&#160;</td>
          <td class="paramname"><em>task</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d8/df4/classnars_1_1storage_1_1Memory.html">Memory</a>&#160;</td>
          <td class="paramname"><em>memory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if a Sentence provide a better answer to a Question or Goal. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">problem</td><td>The Goal or Question to be answered </td></tr>
    <tr><td class="paramname">belief</td><td>The proposed answer </td></tr>
    <tr><td class="paramname">task</td><td>The task to be processed </td></tr>
    <tr><td class="paramname">memory</td><td>Reference to the memory </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="../../d0/db7/LocalRules_8java_source.html#l00118">118</a> of file <a class="el" href="../../d0/db7/LocalRules_8java_source.html">LocalRules.java</a>.</p>

<p>References <a class="el" href="../../d8/d59/BudgetValue_8java_source.html#l00198">nars.entity.BudgetValue.aboveThreshold()</a>, <a class="el" href="../../db/d0c/Memory_8java_source.html#l00237">nars.storage.Memory.activatedTask()</a>, <a class="el" href="../../d6/d10/Task_8java_source.html#l00158">nars.entity.Task.getBestSolution()</a>, <a class="el" href="../../d6/d10/Task_8java_source.html#l00176">nars.entity.Task.getParentBelief()</a>, <a class="el" href="../../d6/d10/Task_8java_source.html#l00099">nars.entity.Task.getSentence()</a>, <a class="el" href="../../d6/d10/Task_8java_source.html#l00126">nars.entity.Task.isInput()</a>, <a class="el" href="../../db/d0c/Memory_8java_source.html#l00464">nars.storage.Memory.report()</a>, <a class="el" href="../../d6/d10/Task_8java_source.html#l00167">nars.entity.Task.setBestSolution()</a>, <a class="el" href="../../de/d4e/BudgetFunctions_8java_source.html#l00081">nars.inference.BudgetFunctions.solutionEval()</a>, and <a class="el" href="../../d0/db7/LocalRules_8java_source.html#l00148">nars.inference.LocalRules.solutionQuality()</a>.</p>

<p>Referenced by <a class="el" href="../../d0/db7/LocalRules_8java_source.html#l00053">nars.inference.LocalRules.match()</a>, <a class="el" href="../../df/d62/Concept_8java_source.html#l00114">nars.entity.Concept.processJudgment()</a>, and <a class="el" href="../../df/d62/Concept_8java_source.html#l00144">nars.entity.Concept.processQuestion()</a>.</p>
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                                                                              {</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <a class="code" href="../../d6/d25/classnars_1_1entity_1_1Sentence.html">Sentence</a> problem = task.<a class="code" href="../../dc/ddc/classnars_1_1entity_1_1Task_ab140cb553a6cf40b07093d1df283567f.html#ab140cb553a6cf40b07093d1df283567f">getSentence</a>();</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <a class="code" href="../../d6/d25/classnars_1_1entity_1_1Sentence.html">Sentence</a> oldBest = task.<a class="code" href="../../dc/ddc/classnars_1_1entity_1_1Task_a63d100ab04dafaea220b3c1125b782e6.html#a63d100ab04dafaea220b3c1125b782e6">getBestSolution</a>();</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keywordtype">float</span> newQ = <a class="code" href="../../d4/de9/classnars_1_1inference_1_1LocalRules_a91eadfda9f647cd8e799b4f982e14fca.html#a91eadfda9f647cd8e799b4f982e14fca">solutionQuality</a>(problem, belief);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">if</span> (oldBest != null) {</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;            <span class="keywordtype">float</span> oldQ = <a class="code" href="../../d4/de9/classnars_1_1inference_1_1LocalRules_a91eadfda9f647cd8e799b4f982e14fca.html#a91eadfda9f647cd8e799b4f982e14fca">solutionQuality</a>(problem, oldBest);</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            <span class="keywordflow">if</span> (oldQ &gt;= newQ) {</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;            }</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        }</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        task.<a class="code" href="../../dc/ddc/classnars_1_1entity_1_1Task_a7d956def715a678d75b113f4bf5efa1d.html#a7d956def715a678d75b113f4bf5efa1d">setBestSolution</a>(belief);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keywordflow">if</span> (task.<a class="code" href="../../dc/ddc/classnars_1_1entity_1_1Task_a0dfdf9a597e57b5cf70d88f954ac7a3f.html#a0dfdf9a597e57b5cf70d88f954ac7a3f">isInput</a>()) { <span class="comment">// moved from Sentence</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;            memory.<a class="code" href="../../d8/df4/classnars_1_1storage_1_1Memory_a26cbb4acec5bb2c23a048d7deba4051d.html#a26cbb4acec5bb2c23a048d7deba4051d">report</a>(belief, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        }</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <a class="code" href="../../db/d8e/classnars_1_1entity_1_1BudgetValue.html">BudgetValue</a> budget = <a class="code" href="../../d7/d11/classnars_1_1inference_1_1BudgetFunctions.html">BudgetFunctions</a>.<a class="code" href="../../d7/d11/classnars_1_1inference_1_1BudgetFunctions_ad2933ccc8d786f0cea9d8f561814cbf9.html#ad2933ccc8d786f0cea9d8f561814cbf9">solutionEval</a>(problem, belief,</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                task, memory);</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keywordflow">if</span> ((budget != null) &amp;&amp; budget.<a class="code" href="../../db/d8e/classnars_1_1entity_1_1BudgetValue_ae83b822f3bab4c1831e94d72fc770f58.html#ae83b822f3bab4c1831e94d72fc770f58">aboveThreshold</a>()) {</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;            memory.<a class="code" href="../../d8/df4/classnars_1_1storage_1_1Memory_aa0cec63b98350a34c10513f3efeaff86.html#aa0cec63b98350a34c10513f3efeaff86">activatedTask</a>(budget, belief, task.<a class="code" href="../../dc/ddc/classnars_1_1entity_1_1Task_ae0fc96866e544c3dda5a87ea5c806fc3.html#ae0fc96866e544c3dda5a87ea5c806fc3">getParentBelief</a>());</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        }</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div>
<div class="ttc" id="classnars_1_1inference_1_1BudgetFunctions_ad2933ccc8d786f0cea9d8f561814cbf9_html_ad2933ccc8d786f0cea9d8f561814cbf9"><div class="ttname"><a href="../../d7/d11/classnars_1_1inference_1_1BudgetFunctions_ad2933ccc8d786f0cea9d8f561814cbf9.html#ad2933ccc8d786f0cea9d8f561814cbf9">nars.inference.BudgetFunctions.solutionEval</a></div><div class="ttdeci">static BudgetValue solutionEval(Sentence problem, Sentence solution, Task task, Memory memory)</div><div class="ttdoc">Evaluate the quality of a belief as a solution to a problem, then reward the belief and de-prioritize...</div><div class="ttdef"><b>Definition:</b> <a href="../../de/d4e/BudgetFunctions_8java_source.html#l00081">BudgetFunctions.java:81</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1Task_a7d956def715a678d75b113f4bf5efa1d_html_a7d956def715a678d75b113f4bf5efa1d"><div class="ttname"><a href="../../dc/ddc/classnars_1_1entity_1_1Task_a7d956def715a678d75b113f4bf5efa1d.html#a7d956def715a678d75b113f4bf5efa1d">nars.entity.Task.setBestSolution</a></div><div class="ttdeci">void setBestSolution(Sentence judg)</div><div class="ttdoc">Set the best-so-far solution for a Question or Goal, and report answer for input question. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d10/Task_8java_source.html#l00167">Task.java:167</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1BudgetValue_ae83b822f3bab4c1831e94d72fc770f58_html_ae83b822f3bab4c1831e94d72fc770f58"><div class="ttname"><a href="../../db/d8e/classnars_1_1entity_1_1BudgetValue_ae83b822f3bab4c1831e94d72fc770f58.html#ae83b822f3bab4c1831e94d72fc770f58">nars.entity.BudgetValue.aboveThreshold</a></div><div class="ttdeci">boolean aboveThreshold()</div><div class="ttdoc">Whether the budget should get any processing at all. </div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d59/BudgetValue_8java_source.html#l00198">BudgetValue.java:198</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1Task_ab140cb553a6cf40b07093d1df283567f_html_ab140cb553a6cf40b07093d1df283567f"><div class="ttname"><a href="../../dc/ddc/classnars_1_1entity_1_1Task_ab140cb553a6cf40b07093d1df283567f.html#ab140cb553a6cf40b07093d1df283567f">nars.entity.Task.getSentence</a></div><div class="ttdeci">Sentence getSentence()</div><div class="ttdoc">Get the sentence. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d10/Task_8java_source.html#l00099">Task.java:99</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1Task_ae0fc96866e544c3dda5a87ea5c806fc3_html_ae0fc96866e544c3dda5a87ea5c806fc3"><div class="ttname"><a href="../../dc/ddc/classnars_1_1entity_1_1Task_ae0fc96866e544c3dda5a87ea5c806fc3.html#ae0fc96866e544c3dda5a87ea5c806fc3">nars.entity.Task.getParentBelief</a></div><div class="ttdeci">Sentence getParentBelief()</div><div class="ttdoc">Get the parent belief of a task. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d10/Task_8java_source.html#l00176">Task.java:176</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1Sentence_html"><div class="ttname"><a href="../../d6/d25/classnars_1_1entity_1_1Sentence.html">nars.entity.Sentence</a></div><div class="ttdoc">A Sentence is an abstract class, mainly containing a Term, a TruthValue, and a Stamp. </div><div class="ttdef"><b>Definition:</b> <a href="../../da/d1c/Sentence_8java_source.html#l00031">Sentence.java:31</a></div></div>
<div class="ttc" id="classnars_1_1storage_1_1Memory_a26cbb4acec5bb2c23a048d7deba4051d_html_a26cbb4acec5bb2c23a048d7deba4051d"><div class="ttname"><a href="../../d8/df4/classnars_1_1storage_1_1Memory_a26cbb4acec5bb2c23a048d7deba4051d.html#a26cbb4acec5bb2c23a048d7deba4051d">nars.storage.Memory.report</a></div><div class="ttdeci">void report(Sentence sentence, boolean input)</div><div class="ttdoc">Display input/output sentence in the output channels. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/d0c/Memory_8java_source.html#l00464">Memory.java:464</a></div></div>
<div class="ttc" id="classnars_1_1inference_1_1BudgetFunctions_html"><div class="ttname"><a href="../../d7/d11/classnars_1_1inference_1_1BudgetFunctions.html">nars.inference.BudgetFunctions</a></div><div class="ttdoc">Budget functions for resources allocation. </div><div class="ttdef"><b>Definition:</b> <a href="../../de/d4e/BudgetFunctions_8java_source.html#l00031">BudgetFunctions.java:31</a></div></div>
<div class="ttc" id="classnars_1_1storage_1_1Memory_aa0cec63b98350a34c10513f3efeaff86_html_aa0cec63b98350a34c10513f3efeaff86"><div class="ttname"><a href="../../d8/df4/classnars_1_1storage_1_1Memory_aa0cec63b98350a34c10513f3efeaff86.html#aa0cec63b98350a34c10513f3efeaff86">nars.storage.Memory.activatedTask</a></div><div class="ttdeci">void activatedTask(BudgetValue budget, Sentence sentence, Sentence candidateBelief)</div><div class="ttdoc">Activated task called in MatchingRules.trySolution and Concept.processGoal. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/d0c/Memory_8java_source.html#l00237">Memory.java:237</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1Task_a63d100ab04dafaea220b3c1125b782e6_html_a63d100ab04dafaea220b3c1125b782e6"><div class="ttname"><a href="../../dc/ddc/classnars_1_1entity_1_1Task_a63d100ab04dafaea220b3c1125b782e6.html#a63d100ab04dafaea220b3c1125b782e6">nars.entity.Task.getBestSolution</a></div><div class="ttdeci">Sentence getBestSolution()</div><div class="ttdoc">Get the best-so-far solution for a Question or Goal. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d10/Task_8java_source.html#l00158">Task.java:158</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1Task_a0dfdf9a597e57b5cf70d88f954ac7a3f_html_a0dfdf9a597e57b5cf70d88f954ac7a3f"><div class="ttname"><a href="../../dc/ddc/classnars_1_1entity_1_1Task_a0dfdf9a597e57b5cf70d88f954ac7a3f.html#a0dfdf9a597e57b5cf70d88f954ac7a3f">nars.entity.Task.isInput</a></div><div class="ttdeci">boolean isInput()</div><div class="ttdoc">Check if a Task is a direct input. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d10/Task_8java_source.html#l00126">Task.java:126</a></div></div>
<div class="ttc" id="classnars_1_1entity_1_1BudgetValue_html"><div class="ttname"><a href="../../db/d8e/classnars_1_1entity_1_1BudgetValue.html">nars.entity.BudgetValue</a></div><div class="ttdoc">A triple of priority (current), durability (decay), and quality (long-term average). </div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d59/BudgetValue_8java_source.html#l00031">BudgetValue.java:31</a></div></div>
<div class="ttc" id="classnars_1_1inference_1_1LocalRules_a91eadfda9f647cd8e799b4f982e14fca_html_a91eadfda9f647cd8e799b4f982e14fca"><div class="ttname"><a href="../../d4/de9/classnars_1_1inference_1_1LocalRules_a91eadfda9f647cd8e799b4f982e14fca.html#a91eadfda9f647cd8e799b4f982e14fca">nars.inference.LocalRules.solutionQuality</a></div><div class="ttdeci">static float solutionQuality(Sentence problem, Sentence solution)</div><div class="ttdoc">Evaluate the quality of the judgment as a solution to a problem. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/db7/LocalRules_8java_source.html#l00148">LocalRules.java:148</a></div></div>
</div><!-- fragment -->
<p><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d4/de9/classnars_1_1inference_1_1LocalRules_a3ecf859c238ad7f0c44c45e3e5df0081_a3ecf859c238ad7f0c44c45e3e5df0081_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</p>

<p><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d4/de9/classnars_1_1inference_1_1LocalRules_a3ecf859c238ad7f0c44c45e3e5df0081_a3ecf859c238ad7f0c44c45e3e5df0081_icgraph.svg" width="100%" height="437"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../d7/d81/namespacenars.html">nars</a></li><li class="navelem"><a class="el" href="../../d9/d79/namespacenars_1_1inference.html">inference</a></li><li class="navelem"><a class="el" href="../../d4/de9/classnars_1_1inference_1_1LocalRules.html">LocalRules</a></li>
    <li class="footer">Generated on Sun Jan 10 2016 18:03:59 for opennars by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
